let regId = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
let email = /^(\w+\.?)*\w+@(?:\w+\.)\w+$/
let tel = /^1[345789]\d{9}$/
let name = /^[\u4E00-\u9FA5\uf900-\ufa2d·s]{2,10}$/
let space = /(^\s*)|(\s*$)/g; 格
let checkSpace = /^[ ]*$/
let FormValidate = (function () {
  function FormValidate () {}
  FormValidate.Form = function () {
    return {
      Name: function (rule, value, callback) {
        if (!value) {
          return callback(new Error('姓名不能为空'))
        }
        if (!name.test(value)) {
          callback(new Error('请输入正确姓名!'))
        } else {
          callback()
        }
      },
      Email: function (rule, value, callback) {
        if (!value) {
          return callback(new Error('邮箱不能为空'))
        }
        if (!email.test(value)) {
          callback(new Error('请输入正确的邮箱!'))
        } else {
          callback()
        }
      },
      ID: function (rule, value, callback) {
        if (!value) {
          return callback(new Error('身份证不能为空'))
        }
        if (!regId.test(value)) {
          callback(new Error('请输入正确的二代身份证号码'))
        } else {
          callback()
        }
      },
      Tel: (rule, value, callback) => {
        if (!value) {
          return callback(new Error('电话不能为空'))
        }
        if (!tel.test(value)) {
          callback(new Error('请正确填写电话号码'))
        } else {
          callback()
        }
      },
      Space: function (rule, value, callback) {
        if (!checkSpace.match(value)) {
          return callback(new Error('不能全为空格'))
        }
      }
    }
  }
  function trim (str) {
    return str.replace(space, '')
  }
  FormValidate.FormOne = function () {
    return {
      Name: function (rule, value, callback) {
        if (!value) {
          return callback(new Error('姓名不能为空'))
        }
        if (!name.test(value)) {
          callback(new Error('请输入正确姓名!'))
        } else {
          callback()
        }
      }
    }
  }

  return FormValidate
})()
exports.FormValidate = FormValidate
/**
 * 调用方法示例
 */
